The parent application(s) discuss previously known tools and techniques in their Technical Background of the Invention. That discussion provides prior art disclosure and other context for the present application, and it is therefore specifically incorporated herein by this reference. The following background is also provided to help in understanding the present invention.
Computer hardware sometimes fails. It must then be replaced, or else functionality is lost. Computer hardware also becomes outmoded or obsolete, such that replacing it becomes desirable even though it still functions as originally intended. For instance, it may be desirable to replace hardware to increase storage capacity or processing speed, or to conform with new industry standards.
But replacing hardware may cause problems. If the replacement hardware has different system characteristics than the previous hardware, it may not function properly unless corresponding software and data changes are also made. For example, it may be necessary to provide a new driver, to change or add Windows registry entries, and/or to modify partition table or other file system information. If the old hardware held the computer's operating system or other software or data needed to run the computer in a way that meets the user's goals, then that software or data may need to be restored from a backup made by a user and/or software may need to be re-installed. Such restoration or reinstallation may in turn overwrite more recent data which has not been backed up. That is, the goal of making the new hardware work may be in tension with the goal of restoring content from a backup copy of the system's data.
As an example, consider the following scenario. Over time, a user modifies the content of a hard disk by adding applications, creating spreadsheets and other documents, specifying personal preferences, and downloading data over a network. The modified disk content is backed up into an image. Additional changes to the content are made, as the user continues using the computer. Then the user decides to replace the hard disk. Perhaps the disk failed, or perhaps it works fine but the user wants a disk with different properties, such as increased storage capacity or faster processing. Regardless, the replacement disk has different system characteristics than the previous disk. For instance, the replacement might have a disk controller that uses a different protocol (e.g., SCSI versus IDE) or a different physical geometry (e.g., a different number of heads or cylinders).
In this situation, the new disk may stop working and/or data may be corrupted or lost, if one restores system data to the new disk from a backup image that was made when the old disk was installed, because the restored system data matches the old disk's characteristics rather than the new disk's. Accordingly, in such situations people have been known to restore data in a file-by-file manner, and to re-install individual applications from the original distribution CDs or floppy disks, instead of restoring applications and data more comprehensively from a back-up image. Such a file-by-file restoration and piecewise reinstallation process can be more time-consuming, and more labor-intensive, than restoring data and software from a back-up image. Moreover, the increased time and effort may be multiplied by hundreds or thousands in enterprises when that many computers are involved.